<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //ES6: 字符串的新增方法
      //1.startsWith: 判断字符串是否以没某个字符串开头
      //如果是这个字符串开头就返还true  否则返还false
      var str = "abcdefg";
      //ES5方法  正则
      var reg = /^ab\w+/;
      console.log(reg.test(str)); //true

      //ES6方法
      console.log(str.startsWith("ab")); //true

      //2.endsWith: 判断字符串是否以某字符串结尾
      var str = "abcdefg";
      console.log(str.endsWith("fg"));

      var reg = /\w+fg$/;
      console.log(reg.test(str));

      //3.按照规定双补全字符串
      var str = "abc";
      //padStart: 从字符串开头补全字符
      var res = str.padStart(5, "&"); //第一个数 是补全之后一共几位
      console.log(res);
      //padEnd: 从字符串结尾补全字符;
      var str = "abc";
      var res = str.padEnd(5, "阿");
      console.log(res);

      //4.includes判断字符串中是否包含某个字符
      var str = "abcdefg";
      console.log(str.includes("de"));
      //or
      var reg = /de/g;
      console.log(reg.test(str));

      //5.repeat 循环生成字符串
      let str1 = "*";
      var res = str1.repeat(5);
      console.log(res);
      //or es5
      for (var i = 0; i < 4; i++) {
        str1 += "*";
      }
      console.log(str1);

      //
      //
      //
      //
      //
      //
      //
      //
      //
      //
      //
      //
      //

      var str = "fdafdsafdXXfdafdsaXXXfdsafdXfdsa";
      // 需要把上面的str里的 X 换成  * : 去掉敏感词
      //方法一
      //console.log(str.replace(/X/g, "*"));

      //
      // console.log(str.length);
      // console.log(str[0]);
      // str[0] = "123";
      // console.log(str); //字符串能用下标查看 可以看length 但是不能修改

      //方法二
      // var newStr = "";
      // for (let i = 0; i < str.length; i++) {
      //   if (str[i] === "X") {
      //     //循环 如果当前字符是X就把X变成*加进字符串,如果不是*,就直接把当前的字符加进字符串
      //     newStr += "*";
      //   } else {
      //     newStr += str[i];
      //   }
      // }
      // console.log(newStr);

      //
      //方法三
      // let arr = Array.from(str);
      // var newArr = [];
      // arr.forEach((item) => {
      //   if (item === "X") {
      //     newArr.push("*");
      //   } else {
      //     newArr.push(item);
      //   }
      // });
      // console.log(newArr); //生成新的数组
      // var res = newArr.join("");
      // console.log(res); //再把新数组用空拼接成字符串

      //方法四 replace
      // let newStr = str.replace("X", "*");
      // console.log(newStr);这样只能替换第一个X
      //可以用replaceAll
      // let newStr = str.replaceAll("X", "*");
      // console.log(newStr);

      //方法五 while 循环
      // while (str.includes("X")) {
      //   str = str.replace("X", "*");
      // }
      // console.log(str);

      //方法六 正则
      // var reg = /X+/g;
      // var res = str.replace(reg, function (arg) {
      //   console.log(arg);
      //   return "*".repeat(arg.length);
      // });
      // console.log(res);
    </script>
  </body>
</html>
